marque uma aid no item 2
- Fórum
- OTServ
- Suporte
- Resolvidos
- AJUDEM A IMPEDIR A SEGUNDA ACTION
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

11 horas atrás, Poccnn disse:marque uma aid no item 2
como faço isso prof?
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

doItemSetAttribute(uid,"aid",number)
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

11 horas atrás, Poccnn disse:doItemSetAttribute(uid,"aid",number)
ai to com duvida
o script tava assim
if itemEx then
doPlayerAddItem(cid, 15500, rand)
doRemoveItem(itemEx.uid,1)
end
deixei assim
if itemEx then
doPlayerAddItem(cid, 15500, rand)
doItemSetAttribute(uid,"aid",9633852)
end
como eu deixo pra impedir o script? tentei coisas assim e n deu
if itemEx aid = 9633852 then
return doPlayerSendCancel(cid, "voce ja coletou deste pokemon.")
end
if getItemAttribute(uid,"aid",9633852) then
return doPlayerSendCancel(cid, "voce ja coletou deste pokemon.")
end
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Acho que vou dar uma adiantada nas aulas porque seriamente tu estás a precisar a aprender sobre tabelas.
Usa itemEx.uid e itemEx.aid
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

1 hora atrás, Poccnn disse:Acho que vou dar uma adiantada nas aulas porque seriamente tu estás a precisar a aprender sobre tabelas.
Usa itemEx.uid e itemEx.aid
oque fiz de errado agr?
if itemEx.aid == 9633852 then
return doPlayerSendCancel(cid, "voce ja coletou deste pokemon.")
end
if itemEx then
doPlayerAddItem(cid, 15500, rand)
doItemSetAttribute(itemEx.uid,"aid",9633852)
end
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

9 horas atrás, wevertonvrb disse:oque fiz de errado agr?
Deixa eu ser sincero contig em uma coisa. Pra quem está de fora como eu que nunca vi seu script e nem consigo imaginar a metodologia empregada ao mesmo se torna extremamente difícil saber qual é o problema.
Eu sugiro que tu estude para entender como funciona o sistema de ot server, então tu saberás o que estás a fazer de errado.
Bem... eu acredito que seu sistema retorne para a função onuse algum valor diferente de nil ou false para cada argumento, portanto o parâmetro itemEx seria um valor válido, logo se tu por isso como condição, ela sempre será verdadeira.
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

Em 2017-5-4 at 08:22, Poccnn disse:Deixa eu ser sincero contig em uma coisa. Pra quem está de fora como eu que nunca vi seu script e nem consigo imaginar a metodologia empregada ao mesmo se torna extremamente difícil saber qual é o problema.
Eu sugiro que tu estude para entender como funciona o sistema de ot server, então tu saberás o que estás a fazer de errado.
Bem... eu acredito que seu sistema retorne para a função onuse algum valor diferente de nil ou false para cada argumento, portanto o parâmetro itemEx seria um valor válido, logo se tu por isso como condição, ela sempre será verdadeira.
man eu ainda sou iniciante suas aulas ainda n ensinaram a empregar essas coisas
OBS: quando sai a aula 6??
Editado Maio 11 por wevertonvrb
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Acho que tu não aprendeu nada com minhas aulas, pois não faria isso.
Citarif not isPremium(cid) then
doPlayerSendCancel(cid, "Voce precisa ser VIP!")
return true
end
if getTopCorpse(topos) == null then
return true
end
if getPlayerStorageValue (cid, 123123) ~= 1 then
doPlayerSendCancel(cid, "Voce precisa ser coletor!")
return true
end
Eu ensinei como é a sintaxe completa do if.
Dá uma re-lida na aula sobre if e tenta refazer isso.
Tu auterou o objeto da variável, logo qualquer mudança não será feito no devido lugar.
Citarlocal itemEx = getTopCorpse(topos)
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

1 hora atrás, Poccnn disse:Acho que tu não aprendeu nada com minhas aulas, pois não faria isso.
Eu ensinei como é a sintaxe completa do if.
Dá uma re-lida na aula sobre if e tenta refazer isso.
Tu auterou o objeto da variável, logo qualquer mudança não será feito no devido lugar.
esse script é antigo proff, por isso tantos if sei q deveria colocar elseif depois atualizo o script
mas como faço para que ele funcione do jeito que esta?
Editado Maio 4 por wevertonvrb
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Eu, se eu fosse tu, re-faria esse script do zero.
Se tu prestar atenção e tivesse aprendido que lua e sensível a maiúsculas e minúsculas tu saberia que essa função não está encontrando a variável correta.
local itemEx = getTopCorpse(topos)
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

14 horas atrás, Poccnn disse:Eu, se eu fosse tu, re-faria esse script do zero.
Se tu prestar atenção e tivesse aprendido que lua e sensível a maiúsculas e minúsculas tu saberia que essa função não está encontrando a variável correta.
local itemEx = getTopCorpse(topos)
realmente descuido meu e como eu disse script antigo rsrsrs esse script é da época do outro forum proff
eu deixei queto pois estava funcionando
ele funciona se eu deixar para remover o item ou por decay no item
arrumei e continua sem funcionar
olha essa função
function getTopCorpse(position)
local pos = position
for n = 1, 255 do
pos.stackpos = n
local item = getTileThingByPos(pos)
if item.itemid >= 2 and (string.find(getItemNameById(item.itemid), "fainted ") or string.find(getItemNameById(item.itemid), "defeated ")) then
return getTileThingByPos(pos)
end
end
return null
end
Editado Maio 5 por wevertonvrb
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Tu já revisou se não há mais erro de digitação no script?
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

4 horas atrás, Poccnn disse:Tu já revisou se não há mais erro de digitação no script?
aparentemente esta sem erro, falta apenas remover tantos if mas isso vo fazer qd o script tiver funfando
ajuda aee proff?
vai sair nova aula tb n?
Editado Maio 6 por wevertonvrb


info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25
BOA NOITE GENTE EU FIZ UMA ACTION
function on use item 1 no item 2
e ele esta funcionando perfeitamente
mas eu gostaria de adicionar algo nele para que essa função funcione apenas uma vez em cada item
algo que faça o item2 já ficar usado mas sem que altere seu id
talvez adicionar um atributo no item2 quando usar o item1 nele a primeira vez que faça com que a action seja recusada se tentar usar novamente
obg desde ja
@Poccnn
Editado Abril 30 por wevertonvrb